Python管理 - Mamba

一. 安装

1.1 Mambafore

#下载mambaforge
wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh

#2 安装
sh Mambaforge-Linux-x86_64.sh
source ~/.bashrc

#3 添加软件源
conda config --add channels bioconda 

mamba -h

1.2 miniforge(推荐)

1.2.1 自动安装

1.2.1.1 经典安装

1.下载miniforge
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh

2.安装mamba
sh Miniforge3-Linux-x86_64.sh

3.刷新
source ~/.bashrc

4.添加软件源
conda config --add channels bioconda

5.直接使用mamba
micromamba

1.2.1.2 一行命令安装(三选一)官方推荐

# 官方教程
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)

# Linux 默认shell 使用bash
curl micro.mamba.pm/install.sh | bash

# Linux 默认shell 使用zsh
curl micro.mamba.pm/install.sh | zsh

macos使用Homebrew安装

On macOS, you can install micromamba from Homebrew:

brew install micromamba

1.2.2 手动一步步安装(用来更新也行,验证14B25A4B.png)

1.2.2.0 省流版

mamba:基于Pyhton命令行实现,替换conda, 提供高速,更可靠的环境管理
micromamba:纯C++实现,单个可执行文件

1.创建文件夹
mkdir mamba && cd mamba

2.下载micromamba并解压到当前目录
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

3.添加环境变量
./bin/micromamba shell init -s bash -p ./  # -p可以设置自己想要的路径,以后创建的环境,配置文件等都会在这个目录下
source ~/.bashrc

1.2.2.1 下载安装包

1.下载micromamba并解压
mkdir -p /share/nas1/yuj/software/micromamba && cd /share/nas1/yuj/software/micromamba
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
ls bin/micromamba

1.2.2.2 配置shell环境变量

如果您想在临时用例中快速使用 micromamba,您可以运行:

export MAMBA_ROOT_PREFIX=/some/prefix  # optional, defaults to ~/micromamba

这个 shell hook 会修改您的 shell 变量以包含 micromamba 命令。

如果您想保留这些更改,可以通过运行 ./micromamba shell init ... 自动将它们写入 .bashrc (或 .zshrc )。这还允许您选择自定义 MAMBA_ROOT_ENVIRONMENT,这是包和 repodata 缓存所在的位置。

# Linux/bash:
./bin/micromamba shell init -s bash -p ./  # ./指代/share/nas1/yuj/software/micromamba
source ~/.bashrc

# macOS/zsh:
./micromamba shell init -s zsh -p ~/micromamba # -p可以设置自己想要的路径,创建的环境,配置文件等都在这个目录下
source ~/.zshrc

使用micromamba调用, 名字稍长,我们可以在~/.bashrc里加上这句来通过mamba调用
alias mamba=micromamba

二. 使用

micromamba activate  # this activates the base environment
micromamba install python=3.6 jupyter -c conda-forge
# or
micromamba create -n env_name xtensor -c conda-forge
micromamba activate env_name
micromamba deactivate

2.1 使用mamba安装生物软件

mamba install -y fastqc 
mamba install -y fastp
mamba install -y multiqc
mamba install -y seqkit
mamba install -y kraken2 
mamba install -y krakentools 
mamba install -y bracken 
mamba install -y bowtie2 
mamba install -y samtools
mamba install -y krona

2.2 详细用法

(1)查询软件:mamba search bedtools -c bioconda
(2)下载软件:mamba install bedtools -c bioconda -y
(3)查看下载结果:bedtools -h

2.3 其他操作

2.3.1 自动更新

# Once installed, micromamba can be updated with
micromamba self-update

# A explicit version can be specified with
micromamba self-update --version 1.4.6

2.3.2 查询软件依赖

mamba repoquery depends -t salmon

2.3.3 查询哪些包依赖于这个包

mamba repoquery whoneeds libgcc-ng

三. 复用之前conda安装的软件

# 重用之前conda的环境
cd /share/nas1/yuj/software
mkdir -p micromamba/envs/
ln -s /share/nas1/yuj/software/miniconda3/envs/* micromamba/envs/

四.配置(修改软件源)

mamba读取rc文件有一个优先级:

// on_unix
{
"/etc/conda/.condarc",
"/etc/conda/condarc",
"/etc/conda/condarc.d/",
"/etc/conda/.mambarc",
"/var/lib/conda/.condarc",
"/var/lib/conda/condarc",
"/var/lib/conda/condarc.d/",
"/var/lib/conda/.mambarc"
}
{ root_prefix }/.condarc
{ root_prefix }/condarc
{ root_prefix }/condarc.d
{ root_prefix }/.mambarc
~/.conda/.condarc
~/.conda/condarc
~/.conda/condarc.d
~/.condarc
~/.mambarc
{ target_prefix }/.condarc
{ target_prefix }/condarc
{ target_prefix }/condarc.d
{ target_prefix }/.mambarc
$CONDARC,
$MAMBARC;

root_prefix 为之前设置的-p 参数值, 我们就在root_prefix 添加一个.mambarc文件。

cd /share/nas1/yuj/software/micromamba
vim .mambarc

## 添加以下内容,并保存
channels:
  - defaults
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
custom_channels:
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
# always_yes: true
auto_activate_base: false

上述配置中,将 conda-forge, bioconda, r这三个设为了默认channel, 所以以后安装这3个channel时,不用在命令行通过-c CHANNEL 来指定这三个channel了。同时always_yes设为true, 也不用每次加-y参数或者每次手动输入y确认安装包了。